<?php
declare (strict_types = 1);

namespace app\middleware;

class Check
{
    /**
     * 处理请求
     *
     * @param \think\Request $request
     * @param \Closure       $next
     * @return Response
     */
    public function handle($request, \Closure $next)
    {
        /*
        echo "aaaaaaaaaaaaaa<br/>";
        $info = [
            'app'=>app('http')->getName(),
            'controller'=>$request->controller(),
            'action'=>$request->action(),
            'ip'=>$request->ip(),
        ];
        dump($info);
        */
        
        //判断访问的是否是后台管理
        if(app('http')->getName() == "admin"){
            //判断请求的方法不是login或doLogin，那么就执行是否未登录判断
            if(!in_array($request->action(),['login','doLogin'])){
                //后台admin应用是否登录判断
                if(!session('?adminuser')){
                    //重定向登录页面
                    return redirect("/admin/index/login");
                }
            }
        }

        //继续下面的请求处理
        return $next($request);
    }
}
